<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/LW.API" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/LW.API" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://sitecoreapitest.languagewire.com/SitecoreAPIService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import schemaLocation="http://sitecoreapitest.languagewire.com/SitecoreAPIService.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/LW.API.Entity" />
  <xs:import schemaLocation="http://sitecoreapitest.languagewire.com/SitecoreAPIService.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="StartSessionRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseRequest">
        <xs:sequence>
          <xs:element name="UserName" nillable="true" type="xs:string" />
          <xs:element name="UserPassword" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="StartSessionRequest" nillable="true" type="tns:StartSessionRequest" />
  <xs:complexType name="BaseRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseObject">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="BaseRequest" nillable="true" type="tns:BaseRequest" />
  <xs:complexType name="BaseObject">
    <xs:sequence>
      <xs:element minOccurs="0" name="MessageId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BaseObject" nillable="true" type="tns:BaseObject" />
  <xs:complexType name="StartSessionResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element minOccurs="0" name="SessionId" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="StartSessionResponse" nillable="true" type="tns:StartSessionResponse" />
  <xs:complexType name="BaseResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Errors" nillable="true" type="tns:ArrayOfError" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="BaseResponse" nillable="true" type="tns:BaseResponse" />
  <xs:complexType name="ArrayOfError">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Error" nillable="true" type="tns:Error" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfError" nillable="true" type="tns:ArrayOfError" />
  <xs:complexType name="Error">
    <xs:sequence>
      <xs:element minOccurs="0" name="Code" type="tns:ErrorCodes" />
      <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserHint" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Error" nillable="true" type="tns:Error" />
  <xs:simpleType name="ErrorCodes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="UnhandledException">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WrongData">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1000</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WrongSessionIdentifier">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1010</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RequiredField">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1020</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AuthenticationFailed">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1030</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WrongAccountNumber">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1040</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WrongAPICustomerID">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1050</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WrongLanguageId">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1060</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WrongAssignmentId">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1070</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ErrorCodes" nillable="true" type="tns:ErrorCodes" />
  <xs:complexType name="StopSessionRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="StopSessionRequest" nillable="true" type="tns:StopSessionRequest" />
  <xs:complexType name="AuthenticationRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseRequest">
        <xs:sequence>
          <xs:element name="SessionId" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="AuthenticationRequest" nillable="true" type="tns:AuthenticationRequest" />
  <xs:complexType name="StopSessionResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="StopSessionResponse" nillable="true" type="tns:StopSessionResponse" />
  <xs:complexType name="GetLanguagesRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetLanguagesRequest" nillable="true" type="tns:GetLanguagesRequest" />
  <xs:complexType name="GetLanguagesResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/LW.API.Entity" name="Languages" nillable="true" type="q1:ArrayOfLanguage" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetLanguagesResponse" nillable="true" type="tns:GetLanguagesResponse" />
  <xs:complexType name="CreateAssignmentRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence>
          <xs:element minOccurs="0" name="APICustomerID" type="ser:guid" />
          <xs:element minOccurs="0" name="AccountNo" type="xs:int" />
          <xs:element minOccurs="0" name="Comment" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CompanyId" type="xs:int" />
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IsFullService" type="xs:boolean" />
          <xs:element minOccurs="0" name="LanguageSource" type="xs:int" />
          <xs:element minOccurs="0" name="LanguageTarget" type="xs:int" />
          <xs:element minOccurs="0" name="PrimaryWorkAreaId" type="xs:int" />
          <xs:element minOccurs="0" name="QuoteBeforeStart" type="xs:boolean" />
          <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="RequiredDeliveryTime" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CreateAssignmentRequest" nillable="true" type="tns:CreateAssignmentRequest" />
  <xs:complexType name="CreateAssignmentResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element minOccurs="0" name="AssignmentId" type="xs:int" />
          <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="FileIds" nillable="true" type="q2:ArrayOfint" />
          <xs:element minOccurs="0" name="SendedMail" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="SendedMailSubject" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CreateAssignmentResponse" nillable="true" type="tns:CreateAssignmentResponse" />
  <xs:complexType name="UploadFileRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence>
          <xs:element name="FileData" nillable="true" type="xs:base64Binary" />
          <xs:element name="Filename" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="UploadFileRequest" nillable="true" type="tns:UploadFileRequest" />
  <xs:complexType name="UploadFileResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element name="UploadedSize" type="xs:long" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="UploadFileResponse" nillable="true" type="tns:UploadFileResponse" />
  <xs:complexType name="DownloadFileRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence>
          <xs:element name="Downloaded" type="xs:long" />
          <xs:element name="FileId" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="DownloadFileRequest" nillable="true" type="tns:DownloadFileRequest" />
  <xs:complexType name="DownloadFileResponse">
    <xs:sequence>
      <xs:element name="Data" nillable="true" type="xs:base64Binary" />
      <xs:element name="Downloaded" type="xs:long" />
      <xs:element name="FileSize" type="xs:long" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DownloadFileResponse" nillable="true" type="tns:DownloadFileResponse" />
  <xs:complexType name="CreateProjectRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence>
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Jobs" nillable="true" type="q3:ArrayOfint" />
          <xs:element name="Name" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CreateProjectRequest" nillable="true" type="tns:CreateProjectRequest" />
  <xs:complexType name="CreateProjectResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element name="ProjectID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CreateProjectResponse" nillable="true" type="tns:CreateProjectResponse" />
  <xs:complexType name="GetProjectsDataRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetProjectsDataRequest" nillable="true" type="tns:GetProjectsDataRequest" />
  <xs:complexType name="GetProjectsDataResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element name="Result" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetProjectsDataResponse" nillable="true" type="tns:GetProjectsDataResponse" />
  <xs:complexType name="GetStatusesRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence>
          <xs:element name="APICustomerID" type="ser:guid" />
          <xs:element name="EndDate" type="xs:dateTime" />
          <xs:element name="StartDate" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetStatusesRequest" nillable="true" type="tns:GetStatusesRequest" />
  <xs:complexType name="GetStatusesResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element name="Result" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetStatusesResponse" nillable="true" type="tns:GetStatusesResponse" />
  <xs:complexType name="ProjectSynchronizedRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence>
          <xs:element name="ProjectID" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ProjectSynchronizedRequest" nillable="true" type="tns:ProjectSynchronizedRequest" />
  <xs:complexType name="ProjectSynchronizedResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ProjectSynchronizedResponse" nillable="true" type="tns:ProjectSynchronizedResponse" />
  <xs:complexType name="GetTranslatedDataRequest">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AuthenticationRequest">
        <xs:sequence>
          <xs:element name="OrderId" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetTranslatedDataRequest" nillable="true" type="tns:GetTranslatedDataRequest" />
  <xs:complexType name="GetTranslatedDataResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseResponse">
        <xs:sequence>
          <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/LW.API.Entity" name="Files" nillable="true" type="q4:ArrayOfFile" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetTranslatedDataResponse" nillable="true" type="tns:GetTranslatedDataResponse" />
</xs:schema>